<?php

namespace app\admin\model\learn;

use think\Db;
use think\Model;


class Course extends Model
{

    

    

    // 表名
    protected $name = 'learn_course';
    
    // 自动写入时间戳字段
    protected $autoWriteTimestamp = 'int';
    protected $searchFields = 'id,name';

    // 定义时间戳字段名
    protected $createTime = 'createtime';
    protected $updateTime = false;
    protected $deleteTime = false;

    // 追加属性
    protected $append = [
        'status_text',
        'is_buy_text',
        'is_show_ppt_text',
    ];



    
    public function getStatusList()
    {
        return ['0' => __('Status 0'), '1' => __('Status 1')];
    }

    public function getIsBuyList()
    {
        return ['0' => __('Is_buy 0'), '1' => __('Is_buy 1')];
    }

    public function getIsShowPptList()
    {
        return ['0' => __('Room.is_show_ppt 0'), '1' => __('Room.is_show_ppt 1')];
    }


    public function getStatusTextAttr($value, $data)
    {
        $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
        $list = $this->getStatusList();
        return isset($list[$value]) ? $list[$value] : '';
    }


    public function getIsBuyTextAttr($value, $data)
    {
        $value = $value ? $value : (isset($data['is_buy']) ? $data['is_buy'] : '');
        $list = $this->getIsBuyList();
        return isset($list[$value]) ? $list[$value] : '';
    }

    public function getIsShowPptTextAttr($value, $data)
    {
        $value = $value ? $value : (isset($data['is_show_ppt']) ? $data['is_show_ppt'] : '');
        $list = $this->getIsShowPptList();
        return isset($list[$value]) ? $list[$value] : '';
    }
    public function getOrgCateId($id)
    {
        return Db::name($this->name)->where('id', '=', $id)->value('org_cate_id');
    }
    public function seminar()
    {
        return $this->belongsTo('app\admin\model\learn\Seminar', 'id', 'learn_course_id', [], 'LEFT')->setEagerlyType(0);
    }
    public function bigshot()
    {
        return $this->belongsTo('app\admin\model\learn\Bigshot', 'id', 'learn_course_id', [], 'LEFT')->setEagerlyType(0);
    }

    public function normal()
    {
        return $this->belongsTo('app\admin\model\learn\Normal', 'id', 'learn_course_id', [], 'LEFT')->setEagerlyType(0);
    }

    public function must()
    {
        return $this->belongsTo('app\admin\model\learn\Must', 'id', 'learn_course_id', [], 'LEFT')->setEagerlyType(0);
    }
    public function hot()
    {
        return $this->belongsTo('app\admin\model\learn\Hot', 'id', 'learn_course_id', [], 'LEFT')->setEagerlyType(0);
    }

    public function teacher()
    {
        return $this->belongsTo('app\admin\model\learn\Teacher', 'teacher_id', 'id', [], 'LEFT')->setEagerlyType(0);
    }

    public function admin()
    {
        return $this->belongsTo('app\admin\model\Admin', 'adminid', 'id', [], 'LEFT')->setEagerlyType(0);
    }

    public function orgcate()
    {
        return $this->belongsTo('app\admin\model\org\Orgcate', 'org_cate_id', 'id', [], 'LEFT')->setEagerlyType(0);
    }

    public function series()
    {
        return $this->belongsTo('app\admin\model\Series', 'series_id', 'id', [], 'LEFT')->setEagerlyType(0);
    }

    public function system()
    {
        return $this->belongsTo('app\admin\model\learn\System', 'id', 'course_id', [], 'LEFT')->setEagerlyType(0);
    }

    public function orgpay()
    {
        return $this->belongsTo('app\admin\model\org\Orgpaycourse', 'id', 'course_id', [], 'LEFT')->setEagerlyType(0);
    }

    public function orgex()
    {
        return $this->belongsTo('app\admin\model\excourse\Orgexcourse', 'id', 'course_id', [], 'LEFT')->setEagerlyType(0);
    }
    public function getDataById($id)
    {
        return Db::name($this->name)->field('*')->where('id', '=', $id)->find();
    }
}
